<?php
namespace app;

// 应用请求对象类
class Request extends \think\Request
{

    /**
     * 获取URL上的参数，包含Pathinfo的和？的
     */
    public function getArgs()
    {
        $filter = ['trim', 'strip_tags'];
        $url_args = array_merge(
            $this->route('', '', $filter),
            $this->get('', '', $filter)
        );
        return $url_args;
    }

    /**
     * 获取URL访问根地址 重写核心root方法
     * @access public
     * @param  bool $complete 是否包含完整域名
     * @return string
     */
    public function realRoot(bool $complete = false): string
    {
        $file = $this->baseFile();

        if ($file && 0 !== strpos($this->url(), $file)) {
            $file = str_replace('\\', '/', dirname($file));
        }
        if (strtolower(substr($file, -4)) == '.php') {
            $file = dirname($file);
        }
        if (substr($file, -1) != '/') {
            $file = $file . '/';
        }
        if (strpos($file, "\\") === 0) {
            $file = substr($file,1);
        }
        return $complete ? $this->domain() . $file : $file;
    }

    /**
     * 是否微信环境下
     * @return bool
     */
    public function isMicroMessenger(): bool
    {
        return strpos($this->header('user_agent', ''), 'MicroMessenger') !== false;
    }
}
